The field of the invention is that of transmitting data along transmission media having attenuation, in particular pre-compensating the data for attenuation along a cable or other medium.
It is known in the art that by implementing a filter in a current mode transmitter, one can perform pre-emphasis on the outgoing signals to fight against the attenuation effect caused by the transmission media. This effect becomes more severe when data frequency is getting higher. It is also reported that, an adaptive equalizer can be used to save power for an A/D converter. In the A/D converter example, the coefficients of the filter are prestored in an EPROM memory array, also called a xe2x80x9clook-up tablexe2x80x9d. A similar method is also taught in U.S. Pat. No. 5,519,398, xe2x80x9cSignal Processing Apparatus Having A/D Conversion Functionxe2x80x9d. A comparator is used to compare an incoming analog signal with a plurality of preset reference levels and generate a thermometer code. A decoder is used to detect a change point of the thermometer code which in turn selects a row of the memory array. The contents that are extracted from the selected row are the predetermined tap coefficients which are fed to the filter to perform equalization. Other examples, such as in U.S. Pat. No. 6,266,379, mention how to use a DRAM or SRAM memory to store tap coefficients for a high-speed transmitter.
In the past, the filter coefficients have been pre-determined based on design and known environment. In this case, the coefficients can be xe2x80x9cburnedxe2x80x9d in a ROM type memory. However, as the media environment becomes more variable, the coefficients sometimes must be reset (or reprogrammed) during a training period. Even during operating period, the filter coefficients may also need to be updated to cope with environment (e.g. temperature) change so to maintain a maximum link capability. A look up table formed by a random access memory or nonvolatile memory requires a technology of embedded memory, size, cost and complexity in design may therefore be unacceptable.
In U.S. Pat. No. 5,857,001, titled, xe2x80x9cOff Chip Driver with Precompensation for Cable Attenuationxe2x80x9d, by Preuss et al., a method is taught on how to create peaks with exponential tails at every signal transition. Whenever a transition occurs, a peak with an exponential is created on the signals so to compensate for transmission media attenuation. However, this approach may not work in a high-frequency domain when the cycle time is shorter than the RC time constant of the exponential tail. This approach becomes less efficient for transmitting signals with high frequency transitions. In other words, depending on the bit data pattern, some peaks may not be necessary.
Proposed by Wurster et. al., U.S. Pat. No. 5,204,880, titled, xe2x80x9cDifferential Line Driver Employing Predistortionxe2x80x9d, is a method to selectively power the driver with full or partial-step voltage levels depending on the outgoing bit data pattern. For example, when fat bits, e.g. several xe2x80x9c1sxe2x80x9d or xe2x80x9c0sxe2x80x9d are transmitting, waveforms are created with partial-step voltages, and when the skinny bits, e.g. single xe2x80x9c1xe2x80x9d or xe2x80x9c0xe2x80x9d, are transmitting, waveforms are created with full-steps. This approach is similar to the previous one, and possesses similar pros and cons. No programmability is provided for both designs. No resolution (or weight) is provided for adjusting the amplitude of the waveform between different fat and skinny bit patterns. These designs are not flexible and can not fit for a variety of package environments.
A design is proposed by Murakami et al., titled xe2x80x9cEqualizerxe2x80x9d in U.S. Pat. No. 5,068,873, in which a receiver is equipped with an equalizer which is formed by a set of feed-forward FIR filters, a set of feed-backward FIR filters, a decision element, and on-chip algorithms and computation circuits to perform decision feedback equalization to minimize the signal distortion. Basically, this adaptive equalization consists of two operations: (1) receive a known signal sequence to roughly estimate transmission channel characteristics and set the tap coefficients by use of a first algorithm and first computation circuit; and (2) receive a random signal sequence to continuously update the coefficients by using a less complex second algorithm and second computation circuits. The design, although complicated, possesses a capability of continuously optimizing the signal to compensate for channel distortion. In this patent, however, there is no mention of how to implement coefficient updating at the circuit level.
The first part of the present invention relates, in general, to how to improve data transmission quality and in particular to extending the distance over which data may be transmitted in transmission media. A feature of the present invention is a current steering circuit which is used to facilitate the adaptive preequalization to a data transmission waveform which compensates noise due to distortion and cross coupling inherent in the transmission media.
One object of the invention is to design adaptive equalization for the driver so that it can provide pre-emphasis on the transmitting signals so that they can compensate the channel distortion when they are received at the far-end receiver.
Another object of the invention is to design an adaptive equalization for the driver so that it can also provide a partial-response effect on the transmitting signals so that transmitted high-frequency signals would not cause disturbances at the near-end receivers.
Another object of the invention is that the pulse of the current bit is dynamically modified based on the information from the adjacent bits (e.g., based on the polarity and the location of the adjacent bits). The bit that is right next to it will have more influence than the one that located farther away. The polarity of the signal determines whether the amplitude of the current bit should be enhanced or retarded.
Another aspect of the present invention relates to a programmable filter whose coefficients are stored and managed in an xe2x80x9cnxmxe2x80x9d programmable thermometric register array, in which the number of rows xe2x80x9cnxe2x80x9d of the register array is determined by the number of the taps provided by the filter; and the number of columns xe2x80x9cmxe2x80x9d is determined by the weight resolution of the coefficients. The higher number of xe2x80x9cmxe2x80x9d, the finer the granularity of the weight among the taps can be set. This will become more clear when the drawings are described in a later section. An aspect of the invention is that any of the xe2x80x9cnxe2x80x9d rows of the register array can be assigned as the main bit, with a future bit (influenced by bits later in time) and two previous bits (influenced by bits earlier in time).
Another aspect of the invention is that the register can be in-situ programmed starting from the main bit and progressed towards the nearest adjacent bits and farther.
Yet another aspect of the invention is that the data among the rows of the thermometric register array is maintained in a balanced state; e.g. the total number of logic xe2x80x9c1xe2x80x9d states is kept unchanged, so to keep the driver at a constant nominal current.